package com.ruibang.glass.produce.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruibang.glass.produce.domain.req.CommonTrendChartReq;
import com.ruibang.glass.produce.domain.req.DefectAnalysisReq;
import com.ruibang.glass.produce.domain.resp.DefectSizeBarChartResp;
import com.ruibang.glass.produce.domain.resp.DefectSizeCurveRateData;
import com.ruibang.glass.produce.domain.resp.DefectSizePieRateData;
import com.ruibang.glass.produce.domain.resp.DissolutionDefectData;
import com.ruibang.glass.produce.entity.DefectSizeAnalysis;

import java.util.List;

/**
 * <p>
 * 缺陷大小数据分析 服务类
 * </p>
 *
 * @author songJinKang
 * @since 2024-04-27
 */
public interface DefectSizeAnalysisService extends IService<DefectSizeAnalysis> {

    IPage<DefectSizeAnalysis> pageQuery(DefectAnalysisReq defectAnalysisReq);

    DefectSizePieRateData pieRateChart(CommonTrendChartReq commonTrendChartReq);

    DefectSizeCurveRateData curveRateChart(CommonTrendChartReq commonTrendChartReq);

    List<DissolutionDefectData> defectChart(DefectAnalysisReq defectAnalysisReq);

    DefectSizeBarChartResp barChart(DefectAnalysisReq defectAnalysisReq);
}
